13 research outputs found

    Hardcoding finite automata

    Get PDF
    Please read the abstract in the section 00front of this documentDissertation (MSc (Computer Science))--University of Pretoria, 2003.Computer Scienceunrestricte

    Towards cache optimization in finite automata implementations

    Get PDF
    To the best of our knowledge, the only available implementations of FA-based string recognizers are the so-called conventional table-driven algorithm and, of course, its hardcoded counterpart suggested by Thompson, Penello, and DeRemer in 1967, 1986, and 2004 respectively. However, our early experiments have shown that the performance of both implementations is hampered by the random access nature of the automaton’s transition table in the case of table-driven, and also the random access nature of the directly executable instructions that make up each hardcoded state. Moreover, the problem of memory load and instruction load are also performance bottlenecks of these algorithms, since, as the automaton size grows, more space in memory is required to hold data/instructions relevant to the states. This thesis exploits the notion of cache optimization (that requires good data or instructions organization) in investigating various enhancements of both table-driven and hardcoding. Functions have been used to formally define the denotational semantics of string recognizers. These functions rely on various so-called strategy variables that are integrated into the formal definition of each recognizer. By appropriately selecting these variables, the conventional algorithms may be described, without loss of generality. By specializing these strategy variables, the new and enhanced recognizers can be denotationally described, and resulting algorithms can then be implemented. We first introduce the so-called Dynamic State Allocation (DSA) strategy regarded as a sort of Just-In-time (JIT) implementation of FA-based string recognizers whereby a predefined portion of the memory is reserved for acceptance testing. Then follows the State pre-Ordering (SpO) strategy that assumes some prior knowledge on the order in which states would be visited. In this case, acceptance testing takes place once each state have been allocated to its new position in memory. The last strategy referred to as the Allocated Virtual Caching (AVC) strategy is based on the premise that a portion of the memory originally occupied by the automaton’s states is virtually used as a sort of cache memory in which acceptance testing takes place, enabling therefore, the exploitation of the various performance enhancement notions on which hardware cache memory relies. It is shown that the algorithms can be classified in a taxonomy tree which is further mapped into a class-diagram that represents the design of a toolkit for FA-based string recognition. Also given in the thesis are empirical results that indicate that the algorithms suggested can, in general, outperform their conventional counterparts when recognizing large and appropriately chosen input strings.Thesis (PhD (Computer Science))--University of Pretoria, 2007.Computer SciencePhDunrestricte

    A roadmap for rural area ICT solution deployment : a case of Kgautswane community in South Africa

    Get PDF
    The need to introduce technologies in rural areas so as to capacitate communities towards overcoming various socio-economic challenges remains a priority in emerging economies. We rely on the foregoing for the investigation in the Kgautswane community in South Africa, of a range of socio-economic challenges that can be addressed through ICT. Identified challenges are further filtered for the selection of an appropriate intervention based on previous experience in the community. The appropriate challenge forms the basis for the development and deployment of an eProcurement ICT solution for small scale traders in the community with emphasis on the concept of a sociopreneur (socio-economic service provider) for leveraging the socio-economic impact of the solution deployed. The overall process is relied upon to develop a roadmap for ICT solution deployment in rural areas that can serve as a blueprint for undertaking similar interventions in the framework of ICT for development.http://www.ajisonline.com/am201

    Hardcoding and dynamic implementation of finite automata Citation for published version (APA): Hardcoding and Dynamic Implementation of Finite Automata

    No full text
    Abstract The theoretical complexity of a string recognizer is linear to the length of the string being tested for acceptance. However, for some kind of strings the processing time largely depends on the number of states visited by the recognizer at run-time. Various experiments are conducted in order to compare the time efficiency of both hardcoded and table-driven algorithms when using such strings patterns. The results of the experiments are cross-compared in order to show the efficiency of the hardcoded algorithm over its table-driven counterpart. This help further the investigations on the problem of the dynamic implementation of finite automata. It is shown that we can rely on the history of the states previously visited in the dynamic framework in order to predict the suitable algorithm for acceptance testing

    Efficient automata constructions and approximate automata

    No full text
    In this paper, we present data structures and algorithms for efficiently constructing approximate automata. An approximate automaton for a regular language L is one which accepts at least L. Such automata can be used in a variety of practical applications, including network security pattern matching, in which false-matches are only a performance nuisance. The construction algorithm is particularly efficient, and is tunable to yield more or less exact automata
    corecore